A victory for the Hammers at the London Stadium would have seen them go above Swansea at the top of English football's second tier.
But the 21-year-old Charles, who kept four clean sheets and saved a penalty for Northern Ireland over the international break, ensured visitors QPR ended this all-capital clash with a share of the spoils.
Bowen had already equalised for West Ham, cancelling out a hugely controversial first-half penalty from Nicolas Madsen.
But the Hammers captain saw his spot-kick saved, and Charles then somehow pushed the rebound from Arne Engels onto the crossbar.
West Ham were earlier on the wrong end of a contentious penalty decision after Tomas Soucek was penalised for fouling Paul Smyth.
Replays showed the challenge was well outside the area and that the Hammers midfielder got the ball. But with VAR not used in the Championship, the penalty stood and Madsen rolled the ball into the bottom corner.
Bowen, however, eventually drew the Hammers level in the 70th minute, scoring from the rebound after his initial shot was blocked.
West Ham pressed for a winner and Bowen's scuffed effort was heading for the net before Charles flung out a hand to push it past a post.
Then, as the match moved into stoppage time, Rangers substitute Amadou Mbengue grabbed a handful of Pablo's shirt to concede a penalty only for Charles to superbly deny both Bowen and Engels to earn QPR a point.
