Lyon stay second despite the defeat, while Reims move up to sixth in the Ligue 1 table.
It was the visitors who made the brighter start and had the first effort on goal when Fortes latched onto a Grzegorz Krychowiak pass, but he could only manage to shoot wide.
The home side had another opportunity in the 24th minute following an excellent turn by Alexandre Lacazette, who then took on three defenders but could only manage to shoot wide of the target.
Reims had a great chance to take the lead on the half-hour mark when Miguel Lopes allowed Eliran Atar to cut along the byline before crossing to Gaetan Courtet, who should have scored from close range but could hit his effort straight at Anthony Lopes.
The game was cast into doubt at the break, with referee Ruddy Buquet opting to wait 15 minutes before making a decision on whether to start the second half due to torrential rain.
However, the officials and two sides decided to give the second period a chance and took to the field a little behind schedule.
Lyon had the best chance of the match just 10 minutes into the second half when Lacazette dummied the ball into the path of Fofana, who could only shoot straight at Agassa.
The hosts were given the perfect opportunity to go in front in the 72nd minute after Jordan Ferri was upended by Courtet in the box.
However, Grenier stepped up and lifted his spot kick over the bar much to the relief of the travelling supporters.
Reims then scored the only goal of the game just four minutes later when Fortes hit a cross come shot from the left that deflected off Milan Bisevac and looped over Lopes into the back of the net.
Bisevac nearly made amends for his misfortune a few minute later, but his header was fractions wide.