It’s certainly possible, but not straightforward. There’s no out of the box solutions out there.
We ended up creating a custom field type that is given site/secret keys. Frontend output of the field handles recaptcha initialisation and backend processing hooks into metabox validation (that was the tricky part) that fires off to the API and validates g-recaptcha-response.