Bo Horvat scored twice, Elias Pettersson had a goal and an assist for the Canucks, who have lost their first four games (0-3-1). Spencer Martin made 28 saves in his season debut.
"That was a really good effort from our guys, and I wish I could win it," Martin said. "Our leadership group hasn't been quiet at all. We've been grinding to get this thing going the right way. Going into the third, I had a really good feeling that we're going to convert it."
Vancouver coach Bruce Boudreau was denied his 600th NHL win for the fifth straight time, dating back to the finale last season.
The Canucks are the first team in NHL history to lose four straight games after holding a multigoal lead in each.
"We didn't hang our heads and sulk," Boudreau said. "We came out, we played. I thought we played hard and we played to win, and that's what I want them to do.
"I thought in the last 10 minutes of the game, we had 75 percent of the chances. We just didn't score."