It depends a lot on how big the stain is and if you've already tried to wash it. If you haven't, there's a product called 'Stain Devils' available in bigger supermarkets. I got mine from Sainsbury's. They do a whole range, depending on the what the stain consists of.
If it's an expensive shirt it's worth a try. If not, I'd get a new one and save the effort. Good luck.