Every Spanish book I've ever looked at has called a shirt a camisa. And I guess in a generic sense that's correct, but there are actually different words for different types of shirts.
This shouldn't come as a surprise (although it did), as we certainly have our own collection of words for the various styles of shirts in English. In this post I'm going to share what I learned from my amigos Mexicanos.
If you're referring to a button up shirt with a collar, then camisa is the right word. It can be a camisa con mangas cortas (short sleeve shirt) or con mangas largas (long sleeve shirt).
The only other word I had ever heard for shirt was camiseta, which all my books defined as a t-shirt. A camiseta is actually an undershirt, with or without sleeves.
What we call a t-shirt in English would be called a playera in Mexico. A playera can have long or short sleeves. You can also referer to a playera con mangas largas as a jersey. Be sure to say it using Spanish pronunciation.
And of course we can't forget about Polo shirts. The official name for a Polo shirt is a playera estilo Polo. But it's commonly referred to as una Polo.
There's also the turtleneck shirt - cuello tortuga. A sweatshirt is a sudadera.
There you have it. While camisa is a universal Spanish word, the others are mexicanismos, and may or may not be used and/or recognized by Spanish speakers from other countries.