I always thought sample size was based on variance within the population from which you seek to draw inferences. This is a yes or no issue. I question where that 400 figure came from.
I may be mistaken, that number is awfully small. If you run into even a small group of similiar-minded people not representative of the general public you can skew the results if the total count is only 251.
I would not be terribly surprised to find that gay marriage is very unpopular, I just wouldn’t get worked up on a sample that small.