Shirt can mean anything in this context... you have said that "рубашка" is correct, but this actually means a "collared shirt" or "dress shirt". Without context, we cannot know what is meant clearly by the general word "shirt". So anything here could do, including "футболка".