Es la forma correcta de escribirlo
.productos li:hover h2 { font-size: 33px; }
De esta forma no se debe escribir ya que si bien la sintaxis es correcta, si se deja espacio puede que el programa no lo lea correctamente
.productos li: hover h2 { font-size: 33px; }