Actually, I found that the problem was the blending function used to render the geometry to the FBO.
Instead of:
glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE)
I have to use:
glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA)
And now it works as good as if I was rendering the geometry directly to the scene.