Cosworth was correct, I thought you meant it only starts with the cap off.
Have you tried cruising around with the cap popped or off? That would be the next step.
It could be either of a couple things. As Cosworth pointed out, if it only happens once the engine is warmed up, it's likely an ignition issue, especially if it just started doing it for no reason.
If it does it regardless of cold or warm, it's likely a fuel issue. Possible fuel issues:
1. Petcock could be partially clogged. Disconnect fuel line from carb and blow air backwards into the tank. This will dislodge anything, but will taste absolutely horrible.
2. Your fuel line from your petcock to the carb could be gummed up.
3. Improper float setting.
4. Partially clogged main jet or emulsion tube.