I ran into the same issue on ubuntu 14.04.
/etc/php5/cli/php.ini and /etc/php5/fpm/php.ini had the same sendmail_path configuration, but only php-cli could send email messages.
In my environment, Mailcatcher runs on a remote server, and I use the catchmail command to contact it.
Here is the sendmail_path I used:
sendmail_path = /usr/bin/env catchmail --smtp-ip mailcatcher-ip -f address@example.com
For the fpm php.ini I needed to specify the full path to catchmail for the mail function to work correctly:
sendmail_path = /usr/bin/env /usr/local/bin/catchmail --smtp-ip mailcatcher -f address@example.com
source share