Answer:
Yes, at times both clients and servers can reverse roles. If a system is providing resources for another it is in a server role. If it is asking for resources on another system it is a client.
However, server and client OS software are different because they have different requirements. A client desktop OS such as Vista is limited in the number of network connections, for example. You need to have Server software to do some things the client cannot.