I want to save, but not print (for now), a bunch of ggplot()s into a grid (via arrangeGrob(), correct?), then print and retrieve them late
The gridExtra package has been updated recently thereby changing how arrangeGrob works internally and what kind of object it returns (now a gtable).
You need to call grid.draw:
grid.draw(y)

Edit: do not use plot() as initially suggested; it will add a grey background, and is only meant to be used for debugging gtables.