I would raise two issues about the dataset to which the regression line was fitted:
The range of prices in the dataset. If the datapoints all lie within a very narrow range of prices, then even small variation (whether real or due to measurement error) in the associated quantities can lead to a low coefficient of determination $R^2$. In terms of the formula:
$$R^2 = 1 - \frac{\text{Residual sum of squares}}{\text{Total sum of squares}}$$
a narrow range of prices tends to result in little of the total sum of squares being explained and most of it being residual, resulting in a low $R^2$. Note that it is assumed here that the regression takes price as the independent variable and quantity as the dependent variable.
The number of datapoints. If the number is small, then, even within its range of prices, the dataset may happen to be unrepresentative of the distribution of points within the population of interest. This can result in the squared residuals calculated from the dataset being on average either much smaller or much larger than is representative of the population. Thus it is possible that $R^2$ has been correctly calculated from data which is not representative of the population.