I have often found old nail holes, or even visible nails on nailed thru the top of the shingle... remove the nail and caulk it with whatever the hardware man reccomends.
Often, you need to climb into the attic and visibly see the leak, water stain, or other sign.
You can also climb on top of the roof and use a long screwdriver (or such) to lift up the shingles (they'll be semi-stuck to each other, so you'll have to work at it like slicing bread horizontally- you want to pry up these 3foot long shingles enough to peak underneath) and look for nails underneath that have rusted... if you see rust, move up further... when you stop seeing rust, you've passed the leak (often a torn or patched piece of tar paper). Check with your local hardware man for the proper shingle re-sealer.