A scoreless draw means the visitors will not participate in the tournament in Brazil but ensures that the hosts remain top of the group in Concacaf Stage 2 qualifying
The Canucks, who had put seven past St. Lucia three days earlier, couldn't find the breakthrough back home in BMO Field, where 12,178 took in the match.
Dwayne De Rosario was Canada's most inventive player but couldn't find the one goal to take him joint top of the country's all-time scoring record.
Coach Stephen Hart tried switching the flanks of wingers Simeon Jackson and Josh Simpson, and, later, sending strikers Olivier Occean and Tosaint Ricketts into the match. But the finishing remained tame throughout the match.
Andrés Pérez had the best chance for Puerto Rico on a swift counter late in the match, but Lars Hirschfeld rushed out to smother the shot.
Canada now take on St. Kitts and Nevis in back-to-back games in November to determine which side advances out of the group to the next stage of World Cup qualifying.
In Group D's other fixture, St Kitts and Nevis scored a dramatic last-gasp equaliser to snatch a 1-1 draw in their home match with St. Lucia.
Elsewhere, in Group A, El Salvador stayed perfect with a 4-0 win at home to Cayman Islands while Dominican Republic won 3-1 at Suriname. Lester Peliter's hat-trick helped Trinidad and Tobago to a 4-0 win over Barbados in Group B while Bermuda and Guyana drew 1-1. A Blaz Perez hat-trick facilitated a 5-1 win for Panama over Nicaragua and Guatemala beat Belize 3-1 in Groups C and E respectively. Finally, in Group F, Antigua and Barbuda hit 10 past US Virgin Islands and Haiti were held, 1-1, at home to Curacao.
How do you stay up with football when on the move? With http://m.goal.com –your best source for mobile coverage of the beautiful game.