It appears the way screen coordinates are calculated by the Robot have changed.
The following bug has been raised against the javadoc of Java 8 which may explain your problem.
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8033128
It looks like the change was made deliberately and is not a bug.
To capture your second screen you may have to offset the location by the size of the first screen.
Robot rbt1 = new Robot(screens[1]);
BufferedImage image1 = rbt1.createScreenCapture(new Rectangle(1024,0,1024,1024));