Not that I've been able to find. When calling ERR_get_error during tag verify failure you get 0L back, which is the same you get for no error. The GCM example code that OpenSSL has in their tree (https://github.com/openssl/openssl/blob/master/demos/evp/aesgcm.c) just checks that the return value of the function is > 0. Frustrating.