What can data cache contain besides pages from physical disk?
There are couple of things here so let me explain

Logical reads: A logical read occurs every time the Database Engine requests a page from the buffer cache. If the page is not currently in the buffer cache, a physical read first copies the page from disk into the cache.

Read aheads: I would suggest you to read Reading Pages in SQL Server


  The Database Engine supports a performance optimization mechanism called read-ahead. Read-ahead anticipates the data and index pages needed to fulfill a query execution plan and brings the pages into the buffer cache before they are actually used by the query. This allows computation and I/O to overlap, taking full advantage of both the CPU and the disk.
  
  The read-ahead mechanism allows the Database Engine to read up to 64
  contiguous pages (512KB) from one file. The read is performed as a
  single scatter-gather read to the appropriate number of (probably
  non-contiguous) buffers in the buffer cache. If any of the pages in
  the range are already present in the buffer cache, the corresponding
  page from the read will be discarded when the read completes. The
  range of pages may also be "trimmed" from either end if the
  corresponding pages are already present in the cache.


Now to your question


  physical_reads are 0 and read-ahead reads are 276 which means that 276 pages of that table which are on the disk drive were in data cache,


No that does not means just the 276 pages it can be much more than 276 actually it is always more than that. Read aheads read *more than required pages *and bring that pages into memory this is done for performance optimization to make sure all the pages are in cache and physical I/O can be avoided. A single read may bring upto 64 pages and this would be seen as one read.From Old BOL document Read-ahead requests are generally 128 pages for each group but can be as many as 1,024 pages when running Microsoft SQL Server Enterprise Edition.

From this Old Technet Article, for enterprise edition Read Ahead  can be up to 1024 KB. 

Logical reads are counted for single pages while read aheads are counted as one for chunk of pages.