Facebook says (emphasis added):
Have you noticed one of those word-in-a-box prompts when trying to send a URL in a Chat or Inbox message, or when posting a URL on a friend’s Wall? These are called captchas, and we’ve gotten some questions about them lately, so we thought we should explain.
Facebook has built a number of automated systems to detect spam and potential spam and block those responsible. When we find a URL that we know is spam, we add it to a blacklist and prevent it from being sent or posted.
Spammers are smart, though, and they often manipulate their URLs in an attempt to get around these controls. As a result, we’ve also created a “greylist” for URLs that might be spam, but might also be legitimate. When users try to send or post these, we put up a captcha for them to solve. Spammers typically use scripts and machines to do their dirty work, so these captchas, which can only be solved by humans, help stop them in their tracks.
We realize this might be annoying, and it might take you a couple seconds longer to send your friend a link to that funny video, but we don’t expect these captchas to be required for the vast majority of links. Also, we think this rare and minor inconvenience is a lot better than the alternative.
Your site apparently made it onto their "graylist". Unfortunately, Facebook doesn't provide any mechanism to appeal that decision that I have been able to find.
Your site could be on this list because Facebook thinks that some of your content is spammy.
You could aso be on this list because Facebook found an open redirect script on your site. Something where spammers can put a URL in a parameter and your site will redirect to it. Something like:
If you have any redirect scripts, ensure that they can only redirect to a white list of sites that you trust. They should produce an error for other sites. Otherwise Facebook spammers may use your site to try to bypass spam detection. That makes your site look spammy.