MSD accuracy decreases as a function of the lag-time $t$, because for large $t$ there are fewer pairs of time slices of interval $t$ to average over. Think of the limit in calculating MSD for the largest possible lag-time interval of a simulation. In that case you can only use the initial and final frame to calculate the MSD at that $t$. Whereas for small $t$, you can average this over many sets of nearby time frames.
The above is why, beyond $\ce{15 ns}$, your MSD curve becomes highly non-linear. You simply don't have good statistics here. Very short times are also not ideal to use for $D$, as displacements are ballistic prior to a particle's first collision and the MSD slope is usually very steep at short $t$. Hence, choose the large smooth region in the middle of your MSD plot to calculate the slope. As long as your simulation is not changing it's diffusion properties over time, and you have sufficient data to average over, this region of the MSD should have a constant slope.
In your case, it looks like you either don't quite have enough data to generate a perfectly smooth MSD beyond $\ce{6 ns}$, or your simulation may be changing in some way over time. However, the medium-time MSD is smooth enough to calculate a diffusion constant. Just use the region from about $\ce{1 ns}$ to $\ce{5 ns}$.
By the way, you can improve MSD statistics by using a shorter reset time (this also increases computational cost).