C'est comme pour "un aprés midi" et "une aprés midi" les deux se disent.
Quand on dit "bonne saint valentin", c'est pour, comme l'a fait remarquer Kitty, souhaiter une bonne fête de saint valentin, si on dit "bon saint valentin" je pense que c'est correct aussi.
Les deux se disent également (à mon humble avis) ^^