I was plagued with a similar issue, but I think I have now solved it. The tests would invariably run perfectly in the IDE (Eclipse) but would usually (but not always) fail with the above error message when run from Jenkins.
The application under test is very slow and has some Javascript making AJAX calls on each page which don't help. The test was failing when checking that a certain piece of text was present on the page (e.g. "enter customer details"). Under the covers, I think it was executing assertCondition(ExpectedConditions.textToBePresentInElementValue(convertedSelector, text));
It seemed that if the test tried to put some data into a page element (or click on it) then Web Driver would wait for the page to complete loading, but if it was just checking that something was there (as per the above example) then it would wait 10 seconds (our local default wait time) before giving up. That caused the irregular failures on Jenkins.
The solution was to store (in a String) all the visible text on the page. I then searched the string for the required text and it worked OK.
Of course, given the intermittent nature of the fault, I can't be SURE I've fixed it! But I hope this helps.