Whilst it's not an absolute requirement to have matching hardware for servers in the cluster, it is recommended and makes configuration easier in general. I've never heard of people using a physical/virtual hybrid cluster, but I can't think of an absolute reason why it isn't possible. You're more likely to run into issues with unusual configurations though.
Whether they're both physical or both virtual is your call, both can work well assuming your server team sets them up competently. Obviously in a virtual environment, make sure that the VMs are running on physically separate hardware or you're defeating the object of a cluster.