Camera calibration without grid
Yes.  Any known pattern can be used for camera calibration, if you know the ground-truth shape.  You just need to have a number of points where you know (a) their location in the image and (b) their location in the physical world.  The procedure is simplest with a grid, so if you're choosing a pattern, might as well stick to that standard (why not?).

Questions about implementation and OpenCV are off-topic here, though.