Yes, twins can have different fathers. The phenomenon is called heteropaternal superfecundation and is very rare.