Eu estava tendo o mesmo problema e não consegui descobrir. Eu finalmente me lembrei de ler em README.markdown do terminal-notifier que:
In order to use terminal-notifier, you have to call the binary inside the application bundle.
Então, editei meu script para chamar /Applications/terminal-notifier.app/Contents/MacOS/terminal-notifier em vez de /usr/local/bin/terminal-notifier e resolvi o problema. Enquanto o /usr/local/bin/ executável funciona bem quando o script é chamado a partir do shell interativo, por algum motivo launchd precisa usar a versão encapsulada dentro de /Applications/terminal-notifier.app para funcionar corretamente.
(Note que se você instalar terminal-notifier com Homebrew, você terá que executar brew linkapps para criar o link simbólico necessário na sua pasta Aplicativos, por brew info terminal-notifier .)