If the water damage on your ceiling were extensive I would suggest cutting the ceiling open because you'd probably have to replace some of it anyway - but it looks minor. With the shower directly above this spot that's the likely culprit. However, water does strange things and can travel some distance before the leak seeps through the drywall. You may or may not be able to determine much by looking through the light fixture hole or even if you cut out a small section. If the drywall is soft and damp - there's a leak.
Cutting an exploratory hole in the ceiling may be required but before you do that I would try the following:
- You mentioned caulking around the shower. If you suspect the shower caulking - recaulk it.
- Look for obvious leak sources throughout the bathroom such as cracked grout around tile, poor caulking around faucet handles.
- Check under the sink for drain or supply line leaks.
- If your shower enclosure is fiberglass check for cracks in the shower surround, especially the base. I've found cracks in fiberglass showers that were almost invisible.
I know you're looking for a quick fix but you need some patience on this type of problem. I had one situation like this where the bathtub drain wasn't properly attached and the water traveled 10 feet across a ceiling joist before soaking through. So, it could be any number of things but usually it's the most obvious.
After caulking any suspicious areas I would then wait to see if that solves the problem as I believe it will. If it doesn't you may need to cut into the ceiling below but I would only do it as a last resort and then start small.