"А Малфой вообще это понял? Он знал?"
Я не доказываю, что Снейп _обязательно_должен_был_ знать, какой у Джеймса Патронус.
Это вы сказали, что он никак не мог знать. Я отвечаю: нет, такой невозможности нет. Мог не знать, а мог и знать, вот ряд ситуаций, в которых, исходя из данных канона, такая возможность представима. Мог увидеть демонстрацию заклинания, мог понять, что видит.