It happened around 10 a.m., just before the Harrison Avenue overpass in Cary.
Authorities said a tractor-trailer was trying to change lanes, when it rear-ended a 1995 Saturn.
The car lost control, went across three lanes of traffic, and hit a guardrail. The Saturn finally came to a rest up against a bridge support.
The driver of the car, 61-year-old Bruce Melkowits, of Chapel Hill, was transported to WakeMed. He was last listed in fair condition.
Martinez Louis of Conklin Michigan, the driver of the 18-wheeler, was charged with failure to reduce speed to avoid colliding with another vehicle.
Traffic flow in both directions of I-40 was back to normal by 11 a.m.