Con isset checas si una variable existe, si tu usas !isset le estas diciendo al if, si una variable no existe, por lo que si ya existe en la sesión entonces creas una variable, para que tu if funcione correctamente debería de estar así:
Código PHP:
if (!isset($_SESSION["ocarrito"])){
$_SESSION["ocarrito"] = new carrito();
}
$carrito = $_SESSION["ocarrito"];
Saludos.