Try this:
Take hot, boiling water (tea kettle) and pour it slowly over the spot so the hot water runs through the fabric. If it's something oily or greasy, this should help melt it out. (Of course, don't try this if the garment can't withstand hot temperatures - read the labels). Then wash in your usual detergent; you can spot-treat the stain with the detergent. Do not put it in the dryer - let it air dry.
If the spot is still there, then next try using Zout. Apply to the stain on BOTH sides of the garment. Allow it to sit for awhile (overnight) before washing in your usual detergent. Zout is usually really good for grease and oily stains, but sometimes it discolors the fabric, so try the hot water plus detergent to spot-treat method first.
Don't put the garment in the dryer until you are sure the spot is out.
I would not rub the stain too much. If it's jeresy this could weaken the fibers.
Do you use chapstick? One of the girls once left chapstick in their pocket and it ran through the wash. The entire load came out covered in greasy, oily stains. I rewashed everything, and the stains just moved around - the chapstick residue was still in the washer!
Otherwise, sometimes old stains just magically appear after months. I'm not sure why.
P.s. I highly recommend Wisk. In my experience, if you wash something at least once in Wisk, it has some ability to resist stains. I think Cheer may also do this now. But cheaper detergents don't tend to have this ability. If you're on a budget you can alternate laundry detergents.