Ok. First- a little insight... When the Check Engine light comes on, the VSC/Trac lights are also set, which turns these systems off. This is a self-preservation mechanism, in case the reason the Check Engine Light is on can harm or effect the VSC/Trac systems. So- fix the reason why the Engine Light is on, and the VSC/Trac systems will come back online.
So, from what you are describing here, it sounds like this is going to be the case of a Cylinder Misfire. Seeing as the Check Engine Light stays on, there's probably only one cylinder that is being affected. If it were multiple, the Engine Light would blink. Unfortunately, there are a few different things that can cause a cylinder misfire. The more common here though is a faulty Ignition Coil. There is one for each cylinder/spark plug. No need to replace them all when only one is faulty. My advice at this point would be to have the Diagnostic Trouble Codes (aka "P-Codes") scanned from the on-board computer. These p-codes will more accurately point to which cylinder has the misfire, and from there, the correct coil can be replaced. You can have these p-codes read FREE (except in California) at any local "big chain" part store (ie. AutoZone, PepBoys, Advanced, etc). So, for example, if the p-code is P0304, this would be cylinder #4. Whereas the lsat digit is the cylinder number (P0301 = Cyl1, P0302 = Cyl2, etc). Carefully inspect the electrical connector and wire harness for any loose, broken or damaged wires. Remove the spark plug and inspect it for any cracks in the body or worn diode. If the inspections check ok, and the p-code is for a misfire of a single-cylinder, replace the ignition coil. If you found this answer helpful, please help me by leaving a rating using the "stars" at the top of the page or click 'accept'.
Rating or accepting my answer does not cost you extra. It allows me to be credited for answering your question. Please rate or accept.