This is because only certain factories implement the buffer method (since it's a geometrically complicated computation). The Geos factory (for flat coordinate systems) does it, as does the simple_mercator factory and the projected geometric factory. But the simple_cartesian and simple_spherical factories do not.
If you're using simple_mercator or projected geometric factories and you're still getting this error, make sure that you have libgeos properly installed. Check RGeo::Geos.supported? to determine whether RGeo can find Geos. If you know libgeos is installed but RGeo can't find it, then you might need to tell RGeo where libgeos is when you install the rgeo gem:
gem install rgeo -- --with-geos-dir=/geos/install/prefix
Alternatively, if you're using JRuby, then you need to use ffi-geos to access geos. Make sure the ffi-geos gem is installed.
Daniel