The date filter only accepts the Joda-Time tokens plus the Logstash-specific ISO8601, UNIX, UNIX_MS, and TAI64N tokens. Grok patterns are not supported.
In your case you'll probably want to use one or a couple of filters to transform "2014-12-14 23:59:40.227 -8" to "2014-12-14 23:59:40.227 -0800" which Joda-Time's Z token will match (or if you can use ISO8601).