Sangoy blazed his spot-kick over the bar midway through the first half but was then on hand in the 56th minute to convert right-footed from Roberto's cross.
The Polish hosts had several shots at goal in the opening 20 minutes or so, with Henrik Ojamaa striking the bar early on before curling another effort wide, Ivica Vrdoljak missing the target and Michal Zyro and Jakub Rzezniczak bringing saves out of Isli Hidi.
Apollon's only real response had been an unsuccessful headed attempt from Christos Karipidis just prior to the quarter-hour mark, but in the 24th minute the Cypriot team had a chance to take the lead when Legia goalkeeper Wojciech Skaba fouled Fotis Papoulis and the referee pointed to the spot.
Sangoy made a hash of the penalty and a minute later, Hidi was called upon to tip an Ojamaa shot around the post.
Legia continued to carve out opportunities for the remainder of the first half, with Vrdoljak seeing one strike blocked by Karipidis and another go over, and Ojamaa volleying against Giorgos Vasilou and having a shot saved by Hidi.
Hidi denied Vladimir Dvalishvili just after the break and six minutes later Sangoy struck from 12 yards out having got on the end of Roberto's left-wing delivery.
Hidi caught a Tomasz Jodlowiec volley and Zyro shot wide before Skaba pushed away a Papoulis effort.
Legia continued to search for a leveller but could not find one, with Dvalishvili heading over, Dominik Furman hitting a free-kick wide and Michal Kucharczyk nodding into Hidi's arms.
They have now suffered two defeats in two Group J games, having lost their opener 1-0 at Lazio. The Italians drew 3-3 on Thursday at Trabzonspor - the team Apollon were beaten 2-1 at home by last time out.