The Flyers also wiped out a 2-1 deficit in the third period and improved to 2-0 on their Western road trip. Philadelphia, which beat Edmonton in a shootout on Saturday, will visit Calgary on Tuesday.
Lecavalier scored on a deke on Philadelphia's first shootout attempt, and Steve Mason stopped all three Vancouver shooters as the Flyers (19-16-4) earned their third straight win and sixth in eight games.
Mason made 41 saves through overtime.
The Canucks (23-11-7) lost for the third time in eight games and missed a chance to move into a tie for fifth place in the Western Conference.
The Flyers haven't lost at Vancouver since Dec. 31, 1989.
Tom Sestito, Jannik Hansen and Daniel Sedin scored for Vancouver.
Mark Streit, Claude Giroux and Brayden Schenn also scored goals in regulation for the Flyers. Giroux also had an assist and further bolstered his chances of playing for Canada's Olympic team as he extended his point streak to nine games.
Schenn forced overtime when he scored the tying goal with 47 seconds left in regulation after Sedin put the Canucks ahead 3-2 with 2:48 remaining.
Eddie Lack, making his second consecutive start and third appearance in place of injured No. 1 goalie Roberto Luongo, finished with 25 saves.
Vancouver failed on its four power plays, and Philadelphia went 0 for 3.
The Flyers led 1-0 after the first period, and the clubs were tied 2-2 heading into the third.
Streit opened the scoring 15:24 in, putting in a backhanded shot after Canucks defenseman Dan Hamhuis denied Michael Raffl on a wraparound attempt.
Sestito, a fourth-line player known mostly for his toughness, tied it 4:24 into the second when he put in a rebound of Hamhuis' shot.
With just under five minutes left in the second, Lack took a shot from Wayne Simmonds in the mask. Despite losing his headgear, Lack came up smiling and showed no ill effects.
Less than a minute later, Hansen put the Canucks ahead 2-1 when he completed a nifty give-and-go with Sedin and tapped the puck into an open net.
But Giroux pulled the Flyers even about two minutes later when he took a lead pass from Raffl, fought his way up the middle through Hamhuis and Chris Tanev, and flicked the puck behind Lack from in close.
Early in the third, Mason denied Daniel Sedin on a breakaway. With just under six minutes gone, Mason robbed David Booth on a one-timer on a 2-on-1 rush with Zack Kassian.
Philadelphia coach Craig Berube called a timeout with 3:45 left, but moments later Daniel Sedin scored to give the Canucks a 3-2 lead.
However, Schenn put in Scott Hartnell's goalmouth pass with only seconds remaining in regulation.
In overtime, Mason stopped Ryan Kesler on two excellent chances in the final minute.
NOTES: Luongo worked out with Canucks goalie coach Roland Melanson during a morning skate. ... Simmonds was denied a chance to become the first Flyers player to score multiple goals in four consecutive games in the 46-season history of the team. Reggie Leach (1976 and 1981) and Ross Lonsberry (1976) are the only other Flyers to record two or more goals in three straight games. ... D Frank Corrado played his first game for Vancouver this season after being called up from Utica of the AHL earlier Monday. He replaced Andrew Alberts, who was injured Sunday on a high hit from Brian McGrattan in Calgary. ... Canucks captain Henrik Sedin played in his 670th consecutive NHL game.