The short answer is no you can't do this, because vertex arrays are meant to be input to your GPU that tells it what texture coordinates to map to what screen coordinates. As far as I know, GPUs cannot output directly to ordinary RAM (which is where sf::Images are).
But you can do something very similar by rendering to an sf::RenderTexture (with the usual clear/draw/display) because that puts the GPU's "output" somewhere that you're allowed to access and do further work on. So after the display() call, simply use getTexture() to get an sf::Texture of what it drew, convert that to an sf::Image, then use sf::Image::saveToFile(). Obviously, don't do this every frame, but for something like exporting image files this is the way to go.