I had this problem too with the stock caps. After switching to the Camco ones that have vent holes drilled into them and require you to squeeze to remove, no problems in several years.
I had some 12 inch cable lanyards that I screwed to the cap with a SS screw and then pulled a trimscrew and attached the cable to the trim screw...if it comes our or I forget to put it in it is still there for me.
I have the caps Bansi linked. Great cap so far. One of my factory caps fell out and my sewer hose came out half way, destroying it as it dragged down the road.