The car is a 2005 Pontiac Grand Prix with 3800 series 3 engine natural aspiration.
I was driving on highway at about 65mph and the engine stalled (no response to gas pedal and engine rev fell. I don't think the rev on tachometer fell to 0 but I do not remember exactly.). I lost power steering of course but I managed to stop it on the side of the road. After that, I can restart the car but it is idling rough (it feels like not all the six cylinders are running. It is similar to how the engine sounds and feels when I had a misfire due to faulty ECM a few years ago). I tried to restart it a few times and it always restart and behave the same as I described. No check engine light. All light on dashboard functions because they are light up when I put key into "I". The tail pipe smells like it is running rich (again like how it smells when I had two cylinder misfired a few years ago). The car restart and the driving drive the car onto the towing truck. It is now sitting in the shop. I have to wait until Monday to get it fixed.
I am puzzled since there is no check engine light. If it is a misfire due to a faulty spark plug or coil or ECM, I assume that check engine light will be on. Plus the spark plug and wires are replaced 20000 miles ago. Air filter was replaced last year. Could it be a fuel injector or pump? I don't know whether this will trigger check engine light or not. And the car should sputter before it died. But it did not. It drives totally fine.
My suspicion is crank or cam shaft position sensor. Another relevant symptom is that the car start up very smoothly when cold but seems to struggle to start when it is warm (it will start thought just not start as smooth as it is cold).
Any insights will be appreciated.