As satishgoda says in his answer.. the Shrinkwrap modifier is the way to go but it's best to not use a prefab in most cases. These are usually badly shaped or just have a different flow from the rest of your model. They can also prove to be very difficult to try and manipulate to conform to your object..
The best way to make clothing and fit it to your character is to select a part of the upper body in the shape of a shirt and duplicate it.
Here I have the upper body of a base mesh..

I next Tab into edit mode, select and duplicate the part of it that I would like his shirt to be and separate it from the body into its own piece with P > Selection. After this, I just scale it outward the tiniest bit with Alt + S to distance it a bit from the body then add a Shrinkwrap modifier to snap it back to the base mesh. This won't be perfect most times, (especially if you have bad topology) so it might require some tweaking on your part to adjust this..

After that, it's up to you now, you can join the meshes back together if you want to animate etc or you can apply the modifier and shape it a bit.. add pockets etc..
