On my last TJ, I had this problem. Behind the drivers side front wheel, on the engine side of the frame, there are two metal fuel lines that travel along the frame to the tank. As the frame curves up towards the engine, these lines go from metal to rubber, then when they attach to the engine, they go back to metal.
My two rubber hoses had rubbed together and caused a hole. This threw the code. The Jeep ran fine, just a CEL. I tried the fuel cap. etc. and discovered that this was my problem. Replaced both hoses and it was fixed. A simple fix.
Hope this helps.