But the computer should show a history of what the fault was. You need to find out what this is, and then you have a chance of tracking down the problem.
So now you've been to 2 Bozo's that can't even pull computer codes! Even Auto Zone or Advance Auto knows how to read codes for free on top of it all! Learn to look for a real mechanic instead of a lube boy and you just might have a chance!
You can run the codes yourself if you look up how. Too much info how to explain here. Or bring to a dealer. I have a Chevy vette and a jeep. I run codes Myself. I had check engine on my jeep last week. One garage said they could find nothing. I ran them myself and found a battery temp sensor bad even though it doesn't affect engine performance. My vette shows history codes as well as current. Possibly you have intermittent one like I do. Sometimes when you restart your car after it's been sitting the codes clear but still in history. Then I go to restart it and code is back on a week later due to a faulty ground. Sounds like you have a bad ground or a sensor that is intermittently going bad. Good luck
You need a new variable valve timing solenoid. It's a very common problem and most Mechanics don't even know it's there and don't know about the problem. Have it removed and inspected for a deteriorated inlet screen. You can buy the one in the attached picture at any good auto parts store and have it installed.