<p>Yes that can be done. Its explained in the paper <code>'Striving for simplicity: The all convolutional net'</code> <a href="https://arxiv.org/pdf/1412.6806.pdf" rel="noreferrer">https://arxiv.org/pdf/1412.6806.pdf</a>. Quote from the paper: </p>

<blockquote>
  <p>'We find that max-pooling can simply be replaced by a convolutional
  layer with increased stride without loss in accuracy  on several image
  recognition benchmarks'</p>
</blockquote>
Max pool layer vs Convolution with stride performance
<p>In most of the architectures, conv layers are being followed by a pooling layer (max / avg etc.). As those pooling layers are just selecting the output of previous layer (i.e. conv), can we just use convolution with stride 2 and expect the similar accuracy results with reduced process need? </p>