The reference pixel is the visual angle of one pixel on a device with a pixel density of 96dpi and a distance from the reader of an arm's length. For a nominal arm's length of 28 inches, the visual angle is therefore about 0.0213 degrees. For reading at arm's length, 1px thus corresponds to about 0.26 mm (1/96 inch).
But why pixels (px) and not points (pt)?
I made a site using 12pt text and it looks good everywhere (ipad, iphone, chromebook, linux, windows, mac).
I suspect 16px is going to look too small on a Retina Macbook (I don't own one, so I wouldn't know).