Você deve entrar em contato com sua linha de cruzeiro. Há algumas disposições especiais para cruzeiros nos EUA / Canadá (também dependendo do tipo de cruzeiro [número de paradas, ponto inicial e final]).
Geralmente no porto de embarque, seu passaporte é verificado. Até onde eu sei, na pior das hipóteses, você pode não ser capaz de desembarcar em Canadá, então aproveite esse meio dia apenas no navio. [Em alguns países, apenas estando em um navio, é preciso ter o documento correto, também sem desembarcar em terra, Canadá, pelo que me lembro, o Canadá não é um desses países].
Se você possui um visto canadense e não possui RP, pode usá-lo, para não ter problemas.
Não vejo problemas para o seu caso. Novamente: você pode perguntar à linha de cruzeiro: para os EUA, existem algumas regras relaxadas (geralmente os cidadãos dos EUA não têm passaporte, portanto, para os cruzeiros de partida dos EUA, é permitido o uso de outros documentos).
[Nota: a parada no Canadá é feita apenas por razões fiscais / operacionais: um navio que não seja bandeira dos EUA deve ter um porto estrangeiro. Nota: "bandeira do navio", não o país da linha de cruzeiro]