Although, I am not an expert in R,
caret is actually just a wrapper around existing algorithms. Hence, I don’t expect the results to be different in normal scenario.
However, in case of random forest, the output is created based on a random seed, which could be different in the two scenarios and hence the difference in result.
If is usually a good idea to perform a cross validation, but it depends on the cost of taking a wrong decision. If it is high, then it is a must. If it is not high, then you can also skip it in a few cases, but tune the model through parameters of RF to reduce overfitting.
Hope this helps. @ajay_ohri might be able to provide more details on this.